diff --git a/system/database/DB_query_builder.php b/system/database/DB_query_builder.php
index 9bd535b..e77fba6 100644
--- a/system/database/DB_query_builder.php
+++ b/system/database/DB_query_builder.php
@@ -903,11 +903,12 @@
 		}
 
 		is_bool($escape) OR $escape = $this->_protect_identifiers;
-		$prefix = (count($this->qb_where) === 0 && count($this->qb_cache_where) === 0)
-			? $this->_group_get_type('') : $this->_group_get_type($type);
 
 		foreach ($field as $k => $v)
 		{
+			$prefix = (count($this->qb_where) === 0 && count($this->qb_cache_where) === 0)
+				? $this->_group_get_type('') : $this->_group_get_type($type);
+
 			$v = $this->escape_like_str($v);
 
 			if ($side === 'none')
diff --git a/tests/codeigniter/core/Output_test.php b/tests/codeigniter/core/Output_test.php
index 3384143..d825240 100644
--- a/tests/codeigniter/core/Output_test.php
+++ b/tests/codeigniter/core/Output_test.php
@@ -2,11 +2,13 @@
 
 class Output_test extends CI_TestCase {
 
+	public $output;
+
 	public function set_up()
 	{
 		$this->ci_set_config('charset', 'UTF-8');
 		$output = $this->ci_core_class('output');
-                $this->output = new $output();
+		$this->output = new $output();
 	}
 
 	// --------------------------------------------------------------------
diff --git a/user_guide_src/source/database/query_builder.rst b/user_guide_src/source/database/query_builder.rst
index 8fb9060..65609c1 100644
--- a/user_guide_src/source/database/query_builder.rst
+++ b/user_guide_src/source/database/query_builder.rst
@@ -345,23 +345,24 @@
 $this->db->like()
 =================
 
-This function enables you to generate **LIKE** clauses, useful for doing
+This method enables you to generate **LIKE** clauses, useful for doing
 searches.
 
-.. note:: All values passed to this function are escaped automatically.
+.. note:: All values passed to this method are escaped automatically.
 
 #. **Simple key/value method:**
 
 	::
 
-		$this->db->like('title', 'match');     // Produces: WHERE title LIKE '%match%'
+		$this->db->like('title', 'match');
+		// Produces: WHERE `title` LIKE '%match%' ESCAPE '!'
 
-	If you use multiple function calls they will be chained together with
+	If you use multiple method calls they will be chained together with
 	AND between them::
 
 		$this->db->like('title', 'match');
 		$this->db->like('body', 'match');
-		// WHERE title LIKE '%match%' AND  body LIKE '%match%
+		// WHERE `title` LIKE '%match%' ESCAPE '!' AND  `body` LIKE '%match% ESCAPE '!'
 
 	If you want to control where the wildcard (%) is placed, you can use
 	an optional third argument. Your options are 'before', 'after' and
@@ -369,9 +370,9 @@
 
 	::
 
-		$this->db->like('title', 'match', 'before');	// Produces: WHERE title LIKE '%match'
-		$this->db->like('title', 'match', 'after');		// Produces: WHERE title LIKE 'match%'
-		$this->db->like('title', 'match', 'both');		// Produces: WHERE title LIKE '%match%'
+		$this->db->like('title', 'match', 'before');	// Produces: WHERE `title` LIKE '%match' ESCAPE '!'
+		$this->db->like('title', 'match', 'after');	// Produces: WHERE `title` LIKE 'match%' ESCAPE '!'
+		$this->db->like('title', 'match', 'both');	// Produces: WHERE `title` LIKE '%match%' ESCAPE '!'
 
 #. **Associative array method:**
 
@@ -379,37 +380,37 @@
 
 		$array = array('title' => $match, 'page1' => $match, 'page2' => $match);
 		$this->db->like($array);
-		// WHERE title LIKE '%match%' AND  page1 LIKE '%match%' AND  page2 LIKE '%match%'
+		// WHERE `title` LIKE '%match%' ESCAPE '!' AND  `page1` LIKE '%match%' ESCAPE '!' AND  `page2` LIKE '%match%' ESCAPE '!'
 
 
 $this->db->or_like()
 ====================
 
-This function is identical to the one above, except that multiple
+This method is identical to the one above, except that multiple
 instances are joined by OR::
 
 	$this->db->like('title', 'match'); $this->db->or_like('body', $match);
-	// WHERE title LIKE '%match%' OR  body LIKE '%match%'
+	// WHERE `title` LIKE '%match%' ESCAPE '!' OR  `body` LIKE '%match%' ESCAPE '!'
 
-.. note:: or_like() was formerly known as orlike(), which has been removed.
+.. note:: ``or_like()`` was formerly known as ``orlike()``, which has been removed.
 
 $this->db->not_like()
 =====================
 
-This function is identical to **like()**, except that it generates NOT
-LIKE statements::
+This method is identical to ``like()``, except that it generates
+NOT LIKE statements::
 
-	$this->db->not_like('title', 'match');  // WHERE title NOT LIKE '%match%
+	$this->db->not_like('title', 'match');	// WHERE `title` NOT LIKE '%match% ESCAPE '!'
 
 $this->db->or_not_like()
 ========================
 
-This function is identical to **not_like()**, except that multiple
+This method is identical to ``not_like()``, except that multiple
 instances are joined by OR::
 
 	$this->db->like('title', 'match');
 	$this->db->or_not_like('body', 'match');
-	// WHERE title  LIKE '%match% OR body NOT LIKE '%match%'
+	// WHERE `title` LIKE '%match% OR  `body` NOT LIKE '%match%' ESCAPE '!'
 
 $this->db->group_by()
 =====================
@@ -1054,4 +1055,4 @@
 	$data = $this->db->get()->result_array();
 
 	// Would execute and return an array of results of the following query:
-	// SELECT field1, field1 from mytable where field3 = 5;
+	// SELECT field1, field1 from mytable where field3 = 5;
\ No newline at end of file
